using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace Joy.Erp.Ufida.Pmc
{
    /// <summary>
    /// 物管平台应用服务接口
    /// </summary>
    public interface IMaterialManagementPlatformAppService : IApplicationService
    {
        /// <summary>
        /// 加载供需数据到缓存
        /// </summary>
        /// <param name="input">输入参数，包含截止日期</param>
        /// <returns>是否成功</returns>
        Task<bool> LoadSupplyDemandDataAsync(LoadSupplyDemandDataInput input);

        /// <summary>
        /// 获取料品供需平衡分析数据（分页）
        /// </summary>
        /// <param name="input">输入参数，包含截止日期、分页参数、料品筛选条件等</param>
        /// <returns>分页的料品供需平衡分析数据</returns>
        Task<PagedResultDto<MaterialBalanceAnalysisDto>> GetMaterialBalanceAnalysisAsync(GetMaterialBalanceInput input);

        /// <summary>
        /// 清除缓存
        /// </summary>
        Task ClearCacheAsync();
    }
}

